package io;
import java.io.*;
/**
 * 使用缓冲流写出数据时缓冲区问题
 *
 */
public class BOSDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos =new FileOutputStream("IO.txt");
        BufferedOutputStream bos =new BufferedOutputStream(fos);
        String line="天晴了，雨停了，你又觉得你行了，你拿着小灵通，站在太阳下，你左手换右手，你还右手打不通";
         //写出的数据会被临时存入内部的字节数组里，直到数组存满数据才会真是写出一次
        bos.write(line.getBytes("UTF-8"));
        /**
         * void flush()
         * flush方法可以强制将当前缓冲中已经存在的数据实际写出一次
         */
        bos.flush();
        System.out.println("搞定");
        //缓冲流close时会自动调用一次flush方法，保证缓冲的数据写出。
        bos.close();
    }
}
